﻿using System.ComponentModel;

namespace Matrix.MaKaYunShang.Model.Enum
{
    public class CommonEnum
    {
        /// <summary>
        /// 操作结果
        /// </summary>
        public enum OperaResult
        {
            待操作 = 0,
            操作失败 = 1,
            操作成功 = 2
        }
        /// <summary>
        /// 订单支付方式
        /// </summary>
        public enum OrderPayWay
        {
            /// <summary>
            /// 微信支付
            /// </summary>
            [Description("微信支付")]
            WeChat = 0,
            /// <summary>
            /// 纸质水票支付
            /// </summary>
            [Description("纸质水票支付")]
            Ticket = 1,
            /// <summary>
            /// 货到付款
            /// </summary>
            [Description("现金支付")]
            Cash = 2,
            /// <summary>
            /// 电子水票
            /// </summary>
            [Description("电子水票支付")]
            ETicket = 3
        }

        public enum PayResult
        {
            /// <summary>
            /// 待支付
            /// </summary>
            [Description("待支付")]
            ToBePaid = 0,
            /// <summary>
            /// 待支付
            /// </summary>
            [Description("支付成功 ")]
            PaySuccess = 1,
            /// <summary>
            /// 支付失败
            /// </summary>
            [Description("支付失败")]
            PayFail = 2
        }

        /// <summary>
        /// 订单状态枚举
        /// </summary>
        public enum OrderStatus
        {
            /// <summary>
            /// 待支付
            /// </summary>
            [Description("待支付")]
            ToBePaid = 0,

            /// <summary>
            /// 等待派单
            /// </summary>
            [Description("等待派单")]
            NewOrder = 1,

            /// <summary>
            /// 正在配送
            /// </summary>
            [Description("正在配送")]
            BeingDelivered = 2,

            /// <summary>
            /// 已送到
            /// </summary>
            [Description("已送到")]
            Arrived = 3,

            /// <summary>
            /// 已完成
            /// </summary>
            [Description("已完成")]
            Finished = 4,

            /// <summary>
            /// 已取消
            /// </summary>
            [Description("已取消")]
            Canceled = 5,

            /// <summary>
            /// 已退回
            /// </summary>
            [Description("已退回")]
            Rejected = 6
        }

        /// <summary>
        /// 订单跟踪状态枚举
        /// </summary>
        public enum OrderStatusTrack
        {
            /// <summary>
            /// 待支付
            /// </summary>
            [Description("订单已确认，请在{0}小时内完成支付")]
            ToBePaid = 0,

            /// <summary>
            /// 等待派单
            /// </summary>
            [Description("您提交了订单，请等待系统确认")]
            NewOrder = 1,

            /// <summary>
            /// 正在配送
            /// </summary>
            [Description("您的订单由码云卡骑手{0}负责配送，联系电话：{1}")]
            BeingDelivered = 2,

            /// <summary>
            /// 已送到
            /// </summary>
            [Description("您的订单已由码云卡骑手{0}送到，联系电话：{1}")]
            Arrived = 3,

            /// <summary>
            /// 已完成
            /// </summary>
            [Description("您的订单已完成，欢迎您再次光临")]
            Finished = 4,

            /// <summary>
            /// 已取消
            /// </summary>
            [Description("您的订单已取消")]
            Canceled = 5,

            /// <summary>
            /// 已退回
            /// </summary>
            [Description("您的订单已退回")]
            Rejected = 6
        }

        /// <summary>
        /// 商家后台角色
        /// </summary>
        public enum McAccountRole
        {
            [Description("老板")]
            Boss = 1,
            [Description("店员")]
            Delivery = 2
        }

        /// <summary>
        /// 商家后台消息提醒类别
        /// </summary>
        public enum PushingMsgType
        {
            [Description("新订单")]
            NewOrder = 1,
            [Description("催单")]
            RemindOrder = 2,
            [Description("派单催促")]
            AssignRemindOrder = 3
        }

        /// <summary>
        /// 提现处理结果
        /// </summary>
        public enum McWithdrawDealStatus
        {
            [Description("待处理")]
            Pending = 0,
            [Description("处理成功")]
            Success = 1,
            [Description("处理失败")]
            Faild = 2
        }

        /// <summary>
        /// 发送方平台
        /// </summary>
        public enum SmsRecordSendFrom
        {
            [Description("平台后台")]
            Mag = 0,
            [Description("商家后台")]
            McMag = 1,
            [Description("微信前端")]
            WeiXin = 2,
            [Description("api")]
            Api = 3
        }

        /// <summary>
        /// 发送对象用户行为来源
        /// </summary>
        public enum SmsRecordUserActionSource
        {
            [Description("添加店铺老板账号")]
            AddBoss = 0,
            [Description("修改店铺老板手机号或密码")]
            ModifyBoss = 1,
            [Description("添加店铺配送员账号")]
            AddDelivery = 2,
            [Description("修改店铺送配送员手机号或密码")]
            ModifyDelivery = 3,
            [Description("其他")]
            Other = 99
        }

        /// <summary>
        /// 店铺商品状态
        /// </summary>
        public enum ShopCommoditySellingStatus
        {
            [Description("下架")]
            OffSell = 0,
            [Description("上架")]
            OnSell = 1
        }

        /// <summary>
        /// 服务订单列查询类型
        /// </summary>
        public enum ServiceOrderQueryType
        {
            [Description("订单指派提醒")]
            AssginOrderRemind = 0,
            [Description("线上支付逾期")]
            ExpiredToPay = 1,
            [Description("订单结束逾期")]
            ExpiredToFinish = 2
        }

        /// <summary>
        /// 用户订单类型
        /// </summary>
        public enum ConsumerOrderType
        {
            [Description("平台用户订单")]
            GfcConsumerOrder = 0,
            [Description("店铺用户订单")]
            ShopConsumerOrder = 1
        }
        /// <summary>
        /// 用户类型
        /// </summary>
        public enum UserType
        {
            [Description("不限制")]
            NoLimit = 0,
            [Description("平台")]
            Platform = 1,
            [Description("店铺")]
            WateStan = 2
        }

        /// <summary>
        /// 统计分析时间条件类型
        /// </summary>
        public enum DataStatQueryDateType
        {
            [Description("按日统计")]
            DayStat = 0,
            [Description("按周统计")]
            WeekStat = 1,
            [Description("按月统计")]
            MonthStat = 2,
            [Description("按年统计")]
            YearStat = 3
        }

        /// <summary>
        /// 用户购买店铺记录添加方式
        /// </summary>
        public enum ConsumerShopRecordType
        {
            [Description("下单")]
            Orde = 0,
            [Description("人工添加")]
            Artificial = 1
        }

        /// <summary>
        /// 接口状态码
        /// </summary>
        public enum ApiStatusCode
        {
            #region 系统全局状态
            成功 = 10000,
            系统错误 = 10001,
            接口权限校验失败 = 10002,
            接口参数错误 = 10003,
            参数格式错误 = 10004,
            参数不全 = 10005,
            项目验证失败 = 10006,
            操作失败 = 10040,
            #endregion

            #region 店铺注册状态（RegisteredShop）
            效验码错误 = 21001,
            店铺名称已经注册 = 21002,
            用户名已经注册 = 21003,
            店铺注册失败 = 21004,
            #endregion

            #region 扫码抽奖
            无效McId或OPENID = 30000,
            用户信息错误 = 30001,
            未关注公众号 = 30002,
            店铺信息错误 = 30003,
            商家未开启扫码功能 = 30004,
            无效二维码 = 1001,
            卡卷抽奖人信息不符仅限扫码人领取 = 30005,
            未中奖 = 30006,
            未开启第三方卡劵查询 = 30007,
            #endregion

            卡卷不存在=40001,
            卡卷已领取=40002,
            不能领取自己分享的卡劵 = 40003
        }
    }
}
